package org.batatasframework.properties;

import java.util.Collections;
import java.util.Iterator;
import java.util.List;

import org.batatasframework.expression.ExpressionClause;

public interface ProperitesGroup extends PropertiesCollection<ExpressionClause>{
	ProperitesGroup NULL = new ProperitesGroup(){

		@Override
		public Iterator<ExpressionClause> iterator() {
			return Collections.emptyIterator();
		}

		@Override
		public PropertiesName getName() {
			return PropertiesName.NULL;
		}

		@Override
		public List<ExpressionClause> cloneOf() {
			return Collections.emptyList();
		}

		@Override
		public boolean is(String groupName) {
			return false;
		}

		@Override
		public List<ExpressionClause> mergeOf() {
			return Collections.emptyList();
		}
		
	};
	
	List<ExpressionClause> cloneOf();
	
	boolean is(String groupName);
	
	List<ExpressionClause> mergeOf();
}
